home *** CD-ROM | disk | FTP | other *** search
/ Zoom 1 / Zoom (1995)(Active Software, Ground Zero).iso / utils / u607.dms / u607.adf / ThePlayer / Source / Include / Player61.i
Text File  |  1994-12-23  |  5KB  |  225 lines

  1.     IFND PLAYER61_I
  2. PLAYER61_I SET 1
  3.  
  4. **    $Filename: Player61.i $
  5. **    $Release: 6.1A $
  6. **    $Revision: 610.1 $
  7. **    $Date: 94/12/23 $
  8. **
  9. **    The Player 6.1A definitions
  10. **
  11. **    (C) Copyright 1992-94 Jarno Paananen
  12. **    All Rights Reserved
  13. **
  14.  
  15.     IFND EXEC_TYPES_I
  16.     include exec/types.i
  17.     ENDC
  18.  
  19. **************
  20. * The header *
  21. **************
  22.  
  23.   STRUCTURE Player_Header,0
  24. ** Instructions to jump to P61_Init
  25.     ULONG    P61_InitOffset
  26. ** ... to P61_Music (rts, if CIA-Version)
  27.     ULONG    P61_MusicOffset
  28. ** ... to P61_End
  29.     ULONG    P61_EndOffset
  30. ** ... to P61_SetRepeat (if present, otherwise rts)
  31.     ULONG    P61_SetRepeatOffset
  32. ** ... to P61_SetPosition
  33.     ULONG    P61_SetPositionOffset
  34. ** Master volume (used if told to...)
  35.     UWORD    P61_MasterVolume
  36. ** If non-zero, tempo will be used
  37.     UWORD    P61_UseTempo
  38. ** If zero, playing is stopped
  39.     UWORD    P61_PlayFlag
  40. ** Info nybble after command E8
  41.     UWORD    P61_E8_info
  42. ** Vector Base Register VBR passed to the player (default 0)
  43.     APTR    P61_UseVBR
  44. ** Current song position
  45.     UWORD    P61_Position
  46. ** Current pattern
  47.     UWORD    P61_Pattern
  48. ** Current row
  49.     UWORD    P61_Row
  50. ** Offset to channel 0 block from the beginning
  51.     APTR    P61_Cha0Offset
  52. ** Offset to channel 1 block from the beginning
  53.     APTR    P61_Cha1Offset
  54. ** Offset to channel 2 block from the beginning
  55.     APTR    P61_Cha2Offset
  56. ** Offset to channel 3 block from the beginning
  57.     APTR    P61_Cha3Offset
  58.  
  59.     LABEL Player_Header_SIZE
  60.  
  61.  
  62. *********************************************************
  63. ** The structure of the channel blocks (P61_Temp[0-3]) **
  64. *********************************************************
  65.  
  66.   STRUCTURE Channel_Block,0
  67.  
  68. ** Note and the MSB of the sample number
  69.     UBYTE    P61_SN_Note
  70. ** Lower nybble of the sample number and the command
  71.     UBYTE    P61_Command
  72. ** Info byte
  73.     UBYTE    P61_Info
  74. ** Packing info
  75.     UBYTE    P61_Pack
  76. ** Pointer to the sample block of the current sample
  77.     APTR    P61_Sample
  78. ** Current note (offset to the period table)
  79.     UWORD    P61_Note
  80. ** Period
  81.     UWORD    P61_Period
  82. ** Volume (NOT updated in tremolo!)
  83.     UWORD    P61_Volume
  84. ** Current finetune
  85.     UWORD    P61_Fine
  86. ** Sample offset
  87.     UWORD    P61_Offset
  88. ** Last sample Offset
  89.     UWORD    P61_LOffset
  90. ** To period for tone portamento
  91.     UWORD    P61_ToPeriod
  92. ** Speed for tone portamento
  93.     UWORD    P61_TPSpeed
  94. ** Vibrato command
  95.     UBYTE    P61_VibCmd
  96. ** Vibrato position
  97.     UBYTE    P61_VibPos
  98. ** Tremolo command
  99.     UBYTE    P61_TreCmd
  100. ** Tremolo position
  101.     UBYTE    P61_TrePos
  102. ** Retrig note counter
  103.     UWORD    P61_RetrigCount
  104.  
  105. ** Invert loop speed
  106.     UBYTE    P61_Funkspd
  107. ** Invert loop offset
  108.     UBYTE    P61_Funkoff
  109. ** Invert loop offset
  110.     APTR    P61_Wave
  111.  
  112. ** Internal switch to the packing
  113.     UWORD    P61_OnOff
  114. ** Pointer to the current pattern data
  115.     APTR    P61_ChaPos
  116. ** A packing pointer to data elsewhere in the pattern data
  117.     APTR    P61_TempPos
  118. ** Lenght of the temporary positions
  119.     UWORD    P61_TempLen
  120. ** Temp pointers for patternloop
  121.     UWORD    P61_TData
  122.     APTR    P61_TChaPos
  123.     APTR    P61_TTempPos
  124.     UWORD    P61_TTempLen
  125.  
  126. ** Shadow address for fading (updated also in tremolo!)
  127.     UWORD    P61_Shadow
  128.  
  129. ** Bit in DMACON ($DFF096)
  130.     UWORD    P61_DMABit
  131.  
  132.     LABEL Channel_Block_SIZE
  133.  
  134.  
  135.  
  136. ************************************************
  137. ** The structure of the sample block that     **
  138. ** the Player does at the init to P61_Samples **
  139. ************************************************
  140.  
  141.   STRUCTURE Sample_Block,0
  142.  
  143. ** Pointer to the beginning of the sample
  144.     APTR    P61_SampleOffset
  145. ** Lenght of the sample
  146.     UWORD    P61_SampleLength
  147. ** Pointer to the repeat
  148.     APTR    P61_RepeatOffset
  149. ** Lenght of the repeat
  150.     UWORD    P61_RepeatLength
  151. ** Volume of the sample
  152.     UWORD    P61_SampleVolume
  153. ** Finetune (offset to the period table)
  154.     UWORD    P61_FineTune
  155.  
  156.     LABEL Sample_Block_SIZE
  157.  
  158. ************************************************
  159. ** Some internal stuff for the Usecode-system **
  160. ************************************************
  161.  
  162.  
  163. ** if finetune is used
  164. P61_ft = use&1
  165. ** portamento up
  166. P61_pu = use&2
  167. ** portamento down
  168. P61_pd = use&4
  169. ** tone portamento
  170. P61_tp = use&40
  171. ** vibrato
  172. P61_vib = use&80
  173. ** tone portamento and volume slide
  174. P61_tpvs = use&32
  175. ** vibrato and volume slide
  176. P61_vbvs = use&64
  177. ** tremolo
  178. P61_tre = use&$80
  179. ** arpeggio
  180. P61_arp = use&$100
  181. ** sample offset
  182. P61_sof = use&$200
  183. ** volume slide
  184. P61_vs = use&$400
  185. ** position jump
  186. P61_pj = use&$800
  187. ** set volume
  188. P61_vl = use&$1000
  189. ** pattern break
  190. P61_pb = use&$2800
  191. ** set speed
  192. P61_sd = use&$8000
  193.  
  194. ** E-commands
  195. P61_ec = use&$ffff0000
  196.  
  197. ** filter
  198. P61_fi = use&$10000
  199. ** fine slide up
  200. P61_fsu = use&$20000
  201. ** fine slide down
  202. P61_fsd = use&$40000
  203. ** set finetune
  204. P61_sft = use&$200000
  205. ** pattern loop
  206. P61_pl = use&$400000
  207. ** E8 for timing purposes
  208. P61_timing = use&$1000000
  209. ** retrig note
  210. P61_rt = use&$2000000
  211. ** fine volume slide up
  212. P61_fvu = use&$4000000
  213. ** fine volume slide down
  214. P61_fvd = use&$8000000
  215. ** note cut
  216. P61_nc = use&$10000000
  217. ** note delay
  218. P61_nd = use&$20000000
  219. ** pattern delay
  220. P61_pde = use&$40000000
  221. ** invert loop
  222. P61_il = use&$80000000
  223.  
  224.    ENDC ; PLAYER61_I
  225.